package dao;

import entity.Course;
import exception.DataAccessException;
import org.apache.ibatis.annotations.Param;
import vo.CourseVo;

import java.util.List;

public interface CourseDao {
    //查询所有课程，对应页面课程管理
    List<Course> selectAll(CourseVo courseVo);

    //启用禁用课程的方法
    int changeToggleStatusById(@Param("id") Integer id, @Param("status") Integer status);

    //修改课程前的查询方法
    List<Course> findAllCourseB4Modify(Integer id);

    //添加课程的
    void addCourse(Course c);

    //修改课程
    void updateCourse(Course c);

    //加载当前课程类别下点击量三多的课程
    List<Course> findTop3Course(Integer id);

    List<Course> SelectRecommendationGrade();

    List<Course> selectTimeByCourseTypeIdList(List<Integer> course_type_ids) throws DataAccessException;

    List<Course> SelectClickByCourseTypeIdList(List<Integer> course_type_ids) throws DataAccessException;

    List<Course> selectAllForFront() throws DataAccessException;

    int queryNum(@Param("courseName") String courseName,@Param("courseTypeId") String courseTypeId);

    List<Course> selectTop3ByIds(int id);
}
